package Test.Moteur;

import Risk.Moteur.Carte;
import Risk.Moteur.Continent;
import Risk.Moteur.Jeu;
import Risk.Moteur.Joueur;
import Risk.Moteur.Pays;

import java.awt.Color;

/**
 *
 * @author     Alexandre LIGUORI
 */
public class TestJoueur {
    public static void main(String[] args) {
	int[]	tabIndice = new int[ 3 ];
	Jeu	jeu       = new Jeu();
	Carte	carte_TMP = null;
	Joueur	jCourant  = null;

	// init
	jeu.ajouteJoueur("rouge", Color.red);
	jCourant = jeu.getJoueurs().get(0);

	for (Continent c : jeu.getPlateau().getContinents()) {
	    for (Pays p : c.getPaysContinent()) {
		p.setJoueur(jCourant);
	    }
	}

	jeu.getPileCartes().initialisePile(jeu.getPlateau());

	// test
	jCourant = jeu.getJoueurCourant();
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	jCourant.ajouteCarteBonus(jeu.getPileCartes().tireCarte());
	System.out.println("rouge possede les cartes suivantes : " + jCourant.getCartesEnMain());
	System.out.println("\n");
	tabIndice[ 0 ] = 1;
	tabIndice[ 1 ] = 4;
	tabIndice[ 2 ] = 5;
	System.out.println("cartes :" + jCourant.getCartesEnMain().get(tabIndice[ 0 ]) + " | "
			   + jCourant.getCartesEnMain().get(tabIndice[ 1 ]) + " | "
			   + jCourant.getCartesEnMain().get(tabIndice[ 2 ]));
	System.out.println("valeur des 3 cartes cidessus =" + jCourant.testDepenseCartes(tabIndice));

	// retire les 3 cartes et les remettre dans le paquet
	carte_TMP = jCourant.getCartesEnMain().get(tabIndice[ 0 ]);
	jCourant.retireCartesBonus(carte_TMP);
	jeu.getPileCartes().ajouteCarte(carte_TMP);
	carte_TMP = jCourant.getCartesEnMain().get(tabIndice[ 1 ]);
	jCourant.retireCartesBonus(carte_TMP);
	jeu.getPileCartes().ajouteCarte(carte_TMP);
	carte_TMP = jCourant.getCartesEnMain().get(tabIndice[ 2 ]);
	jCourant.retireCartesBonus(carte_TMP);
	jeu.getPileCartes().ajouteCarte(carte_TMP);
	System.out.println("\n");
	System.out.println("rouge possede les cartes suivantes : " + jCourant.getCartesEnMain());
	System.out.println("\n");
	tabIndice[ 0 ] = 2;
	tabIndice[ 1 ] = 4;
	tabIndice[ 2 ] = 6;
	System.out.println("cartes :" + jCourant.getCartesEnMain().get(tabIndice[ 0 ]) + " | "
			   + jCourant.getCartesEnMain().get(tabIndice[ 1 ]) + " | "
			   + jCourant.getCartesEnMain().get(tabIndice[ 2 ]));
	System.out.println("valeur des 3 cartes cidessus =" + jCourant.testDepenseCartes(tabIndice));

	// retire les 3 cartes et les remettre dans le paquet
	carte_TMP = jCourant.getCartesEnMain().get(tabIndice[ 0 ]);
	jCourant.retireCartesBonus(carte_TMP);
	jeu.getPileCartes().ajouteCarte(carte_TMP);
	carte_TMP = jCourant.getCartesEnMain().get(tabIndice[ 1 ]);
	jCourant.retireCartesBonus(carte_TMP);
	jeu.getPileCartes().ajouteCarte(carte_TMP);
	carte_TMP = jCourant.getCartesEnMain().get(tabIndice[ 2 ]);
	jCourant.retireCartesBonus(carte_TMP);
	jeu.getPileCartes().ajouteCarte(carte_TMP);
	System.out.println("\n");
	System.out.println("rouge possede les cartes suivantes : " + jCourant.getCartesEnMain());
	System.out.println("\n");
	tabIndice[ 0 ] = 0;
	tabIndice[ 1 ] = 1;
	tabIndice[ 2 ] = 6;
	System.out.println("cartes :" + jCourant.getCartesEnMain().get(tabIndice[ 0 ]) + " | "
			   + jCourant.getCartesEnMain().get(tabIndice[ 1 ]) + " | "
			   + jCourant.getCartesEnMain().get(tabIndice[ 2 ]));
	System.out.println("valeur des 3 cartes cidessus =" + jCourant.testDepenseCartes(tabIndice));

	// retire les 3 cartes et les remettre dans le paquet
	carte_TMP = jCourant.getCartesEnMain().get(tabIndice[ 0 ]);
	jCourant.retireCartesBonus(carte_TMP);
	jeu.getPileCartes().ajouteCarte(carte_TMP);
	carte_TMP = jCourant.getCartesEnMain().get(tabIndice[ 1 ]);
	jCourant.retireCartesBonus(carte_TMP);
	jeu.getPileCartes().ajouteCarte(carte_TMP);
	carte_TMP = jCourant.getCartesEnMain().get(tabIndice[ 2 ]);
	jCourant.retireCartesBonus(carte_TMP);
	jeu.getPileCartes().ajouteCarte(carte_TMP);
	System.out.println("\n");
	System.out.println("rouge possede les cartes suivantes : " + jCourant.getCartesEnMain());
	System.out.println("\n");
	tabIndice[ 0 ] = 6;
	tabIndice[ 1 ] = 3;
	tabIndice[ 2 ] = 0;
	System.out.println("cartes :" + jCourant.getCartesEnMain().get(tabIndice[ 0 ]) + " | "
			   + jCourant.getCartesEnMain().get(tabIndice[ 1 ]) + " | "
			   + jCourant.getCartesEnMain().get(tabIndice[ 2 ]));
	System.out.println("valeur des 3 cartes cidessus =" + jCourant.testDepenseCartes(tabIndice));

	// retire les 3 cartes et les remettre dans le paquet
	carte_TMP = jCourant.getCartesEnMain().get(tabIndice[ 0 ]);
	jCourant.retireCartesBonus(carte_TMP);
	jeu.getPileCartes().ajouteCarte(carte_TMP);
	carte_TMP = jCourant.getCartesEnMain().get(tabIndice[ 1 ]);
	jCourant.retireCartesBonus(carte_TMP);
	jeu.getPileCartes().ajouteCarte(carte_TMP);
	carte_TMP = jCourant.getCartesEnMain().get(tabIndice[ 2 ]);
	jCourant.retireCartesBonus(carte_TMP);
	jeu.getPileCartes().ajouteCarte(carte_TMP);
	System.out.println("\n");
	System.out.println("rouge possede les cartes suivantes : " + jCourant.getCartesEnMain());
	System.out.println("\n");
	tabIndice[ 0 ] = 0;
	tabIndice[ 1 ] = 1;
	tabIndice[ 2 ] = 2;
	System.out.println("cartes :" + jCourant.getCartesEnMain().get(tabIndice[ 0 ]) + " | "
			   + jCourant.getCartesEnMain().get(tabIndice[ 1 ]) + " | "
			   + jCourant.getCartesEnMain().get(tabIndice[ 2 ]));
	System.out.println("valeur ERREUR =" + jCourant.testDepenseCartes(tabIndice));

	// en cas derreur laissez les cartes en main
    }
}
